package main

import (
	"github.com/gin-gonic/gin"
	"log"
	"net/http"
)

func main() {
	// 创建一个服务器
	server := gin.Default()

	// 静态路由
	server.GET("/hello", func(context *gin.Context) {
		context.String(http.StatusOK, "这是 hello 的路由")
	})

	// 参数路由
	server.GET("/users/:name", func(context *gin.Context) {
		name := context.Param("name")
		context.String(http.StatusOK, "这是你传过来的名字 %s", name)
	})

	// 通配符匹配
	server.GET("/views/*.html", func(context *gin.Context) {
		path := context.Param(".html")
		context.String(http.StatusOK, "匹配上的值是 %s", path)
	})

	server.GET("/order", func(context *gin.Context) {
		// 查询参数
		id := context.Query("id")
		context.String(http.StatusOK, "你传过来的 ID 是 %s", id)
	})

	// 启动。
	// 当服务器退出的时候，才会返回一个 err
	// 注意在 addr 这里，不要漏了前置 : 符号
	if err := server.Run(":8080"); err != nil {
		log.Fatal(err)
	}
}
